/**!
 * cnpmjs.org - config/index.js
 *
 * Copyright(c) cnpmjs.org and other contributors.
 * MIT Licensed
 *
 * Authors:
 *  dead_horse <dead_horse@qq.com>
 *  fengmk2 <fengmk2@gmail.com> (http://fengmk2.github.com)
 */

'use strict';

/**
 * Module dependencies.
 */

var path = require('path');
var os = require('os');
var _ = require('underscore');


var root = path.dirname(__dirname);

var allConfig = {

    //version: version,

    /**
     * Cluster mode
     */
    enableCluster: true, numCPUs: os.cpus().length,

    // email
    email: {
        from: 'developer@calfmobile.com',
        smtp: 'smtp.exmail.qq.com',
        username: 'developer@calfmobile.com',
        password: '*yanfa#1024',
        domain: 'calfmobile.com',
        to: 'feedback@calfmobile.com'//多个邮箱用逗号隔开
    },

    // max request json body size
    jsonLimit: '10mb',

    o2oService: '/o2o_service',
    o2oService_port: 1880,

    pageSize: 50, manager_pageSize: 1000,  //后台管理每页数据条数

    redisPre: {
        thread_info: 'thread:%d:info',//帖子基本信息  $d帖子id
        user_info: 'user:%d:info',//用户基本信息 %d用户id
        tag_info: 'tags:%d:info:%d',//标签基本信息 type=1 标准标签 第一个%d标签id 第二个%d类型id
        user_list: "user:%d:list:%d",//用户列表资料type=1 订阅的标签列表: tagid type=2 关注的好友列表: uid type=3 收藏的帖子列表: tid type=4 点赞的帖子列表: tid
        thread_list: 'thread:%d:list:%d',//帖子列表资料 type=1 最近10个点赞的用户列表: uid
        tag_list: 'tags:%d:list:%d',//帖子列表资料 type=1 最近10个点赞的用户列表: uid
        lists_news: 'lists:news:%d',//最新帖子
        lists_user: 'lists:user:%d',//用户发
        env_tagsgroup: 'env:tags_group', //发现页面板块标签及二级标签数组 有序
        env_brond_tagid: 'env:brond_tagid', //发现页面板块标签菜单 有序
        env_categorysgroup: 'env:categorys_group',//发现页分类数组
        thread_ttl: 3600,//单位秒
        user_ttl: 3600,//单位秒
        tag_ttl: 3600,//单位秒
        user_list_ttl: 3600,
        thread_list_ttl: 3600,
        tag_list_ttl: 3600,
        lists_news_ttl: 3600,
        lists_user_ttl: 3600,
        lists_init_count: 10000,//最新帖子，好友帖子缓存初始数量
        lists_del_count: 11000,//最新帖子，好友帖子缓存到达这个数出发删除到lists_init_count
        thread_user: 'prethread:%d',//发帖成功后的临时值
        thread_user_ttl: 600,
        lists_digest: 'list:digest', //精华列表
        lists_digest_ttl: 300, //精华列表 300秒
        lists_digest_count: 10000,//精华列表
        slider_list: 'slider:%d:list',
        check_post: 'config:check_post'
    }, oauth: {
        app_id_qq: 1103823847
    }
};
// 通过NODE_ENV来设置环境变量，如果没有指定则默认为生产环境
var env = process.env.NODE_ENV || 'development';
env = env.toLowerCase();

// C.env 为运行环境
allConfig.env = env;

// 载入配置文件
var file = path.resolve(__dirname, env + '.js');
try {
    var envConfig = require(file);
    var config = _.extend(allConfig, envConfig);


    console.log('Load config: [%s] %s', env, file);
} catch (err) {
    console.error('Cannot load config: [%s] %s', env, file);
    throw err;
}


module.exports = config;
